package com.vviton.zyhj.common.controller;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.vviton.zyhj.common.base.BaseController;
import com.vviton.zyhj.common.entity.TYyxtCode;
import com.vviton.zyhj.common.entity.TYyxtPtglXtcssz;
import com.vviton.zyhj.common.service.CommonService;
import com.vviton.zyhj.common.utils.LocaleUtil;
import com.vviton.zyhj.content.CommonConstants;
import com.vviton.zyhj.content.SessionHyxx;
import com.wdcloud.framework.core.log.annotation.MonitorLog;

/**
 * ClassName:CommonController <br/>
 * Function: 公共Controller. <br/>
 * Date: 2016年11月16日 下午3:09:17 <br/>
 *
 * @author nifang
 * @version 1.0
 * @since JDK 1.7
 */
@Controller
@RequestMapping("common")
public class CommonController extends BaseController {

    @Autowired
    private CommonService commonService;

    /**
     *
     * getCodeListByCodeClass,(根据codeClass取码表数据). <br/>
     * Author: nifang <br/>
     * Create Date: 2016年11月16日 <br/>
     * ===============================================================<br/>
     * Modifier: nifang <br/>
     * Modify Date: 2016年11月16日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param codeClass 代码
     * @return 码表数据
     * @since JDK 1.7
     */
    @RequestMapping("getCodeListByCodeClass")
    @ResponseBody
    @MonitorLog(text = "根据codeClass取码表数据", containRequest = true)
    public List<TYyxtCode> getCodeListByCodeClass(@RequestParam String codeClass) {
        return commonService.getCodeListByCodeClass(codeClass);
    }

    /**
     *
     * getSessionHyxx,(获取session用户信息). <br/>
     * Author: qiaocf <br/>
     * Create Date: 2016年11月22日 <br/>
     * ===============================================================<br/>
     * Modifier: Administrator <br/>
     * Modify Date: 2016年11月22日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param req 会话
     * @return 会员信息
     * @since JDK 1.7
     */
    @RequestMapping("getSessionHyxx")
    @ResponseBody
    @MonitorLog(text = "获取session用户信息", containRequest = true)
    public SessionHyxx getSessionHyxx(HttpServletRequest req) {
        return CommonConstants.getHyxx(req);
    }

    /**
     * getXtcsszByCsdm,获取参对象根据参数代码. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月29日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月29日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param csdm 参数代码
     * @param ywy 业务域
     * @return 参数值
     * @since JDK 1.7
     */
    @RequestMapping("getXtcsszByCsdm")
    @ResponseBody
    public TYyxtPtglXtcssz getXtcsszByCsdm(@RequestParam String csdm, @RequestParam String ywy) {
        return commonService.getXtcsszByCsdm(csdm, ywy);
    }

    /**
     * getXwList,(获取行为集合). <br/>
     * Author: zhucb <br/>
     * Create Date: 2016年12月6日 <br/>
     * ===============================================================<br/>
     * Modifier: zhucb <br/>
     * Modify Date: 2016年12月6日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @return List<TYyxtCode>
     * @since JDK 1.7
     */
    @RequestMapping("getXwList")
    @ResponseBody
    @MonitorLog(text = "获取行为", containRequest = true)
    public List<TYyxtCode> getXwList() {
        String lang = LocaleUtil.getLocale().getLanguage();
        List<TYyxtCode> xwList = commonService.getXwList(lang);
        List<TYyxtCode> newXwList = new ArrayList<TYyxtCode>();
        newXwList.addAll(xwList);
        // 排除平台积分获取行为 09完善资料 08晒单 07满意度评价 06产品评价 01 登录
        for (int i = 0; i < xwList.size(); i++) {
            TYyxtCode tCode = xwList.get(i);
            String code = tCode.getCode();
            if (code.equals(CommonConstants.XW_DL) || code.equals(CommonConstants.XW_CPPJ) || code.equals(CommonConstants.XW_MYDPJ)) {
                newXwList.remove(tCode);
            }
            if (code.equals(CommonConstants.XW_SD) || code.equals(CommonConstants.XW_WSZL)) {
                newXwList.remove(tCode);
            }
        }
        return newXwList;
    }
}
